Code 39 is widely used in many industries across the world. It is the standard for many government barcode specifications, including the U.S. Department of Defense. Code 39 is also known as Code 3 of 9.
Code 39 was the first alphanumeric symbology. Its character set includes the digits 0-9, the letters A-Z (uppercase only), and the following symbols: space, minus "-", plus "+", period ".", dollar sign "$", slash "/", and percent "%". Barcode Xpress for Linux generates an error if you have characters in your barcode value that are not allowed.
Each data character is made up of 5 bars and 4 spaces for a total of 9 elements. Each character includes 3 wide and 6 narrow elements. Thus, 3 out of the 9 elements are always wide, which is the reason why the code is sometimes called "3 of 9".
The ratio of wide to narrow bar width can be in the range of 1.8 to 3.4. The barcode engine Code 39 uses a 2:1 wide to narrow bar width ratio.
Code 39 requires a quiet zone, which should be at least the width of 10 narrow bars. This means that if you set the MinimumBarWidth property to 3 pixels (narrow bar size), you should set the HorizontalWhiteSpace property to 30 pixels. Since Code 39 is a self-checking barcode, it normally does not require a checksum. However, when necessary, an optional modulo 43 checksum may be used.
By default, Barcode Xpress for Linux does not write optional checksums. If a checksum is desired for Code 39, set the EnableCheckSum property to 1(TRUE) and the barcode engine calculates and writes the checksum.
An example: